From a20f62e8f83830438cd81cef224652c86224ed50 Mon Sep 17 00:00:00 2001 From: "cl349@arcadians.cl.cam.ac.uk" Date: Fri, 11 Feb 2005 16:28:22 +0000 Subject: [PATCH] bitkeeper revision 1.1159.258.2 (420cdd26biP1GgUIcVSoyZGOZjAu2A) Pass pointer to register set to set_pre_exception_table instead of eip. Signed-off-by: cl349@cl.cam.ac.uk --- xen/arch/x86/extable.c | 3 ++- xen/arch/x86/x86_32/entry.S | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c index d3292027e0..bb70a3842b 100644 --- a/xen/arch/x86/extable.c +++ b/xen/arch/x86/extable.c @@ -63,8 +63,9 @@ search_exception_table(unsigned long addr) } unsigned long -search_pre_exception_table(unsigned long addr) +search_pre_exception_table(struct xen_regs *regs) { + unsigned long addr = (unsigned long)regs->eip; unsigned long fixup = search_one_table( __start___pre_ex_table, __stop___pre_ex_table-1, addr); DPRINTK("Pre-exception: %08lx -> %08lx\n", addr, fixup); diff --git a/xen/arch/x86/x86_32/entry.S b/xen/arch/x86/x86_32/entry.S index 1afeded9c9..aaf6caccef 100644 --- a/xen/arch/x86/x86_32/entry.S +++ b/xen/arch/x86/x86_32/entry.S @@ -379,7 +379,7 @@ exception_with_ints_disabled: testl $(3|X86_EFLAGS_VM),%eax # interrupts disabled outside Xen? jnz 1b # it really does happen! # (e.g., DOM0 X server) - pushl XREGS_eip(%esp) + pushl %esp call search_pre_exception_table addl $4,%esp testl %eax,%eax # no fixup code for faulting EIP? -- 2.30.2